package com.shiroha.user.service;

import com.mybatisflex.core.service.IService;
import com.shiroha.common.pojo.dto.ChatGroupDTO;
import com.shiroha.common.pojo.dto.GroupMemberDTO;
import com.shiroha.user.pojo.ChatGroup;

import java.util.List;
import java.util.UUID;

public interface IChatGroupService extends IService<ChatGroup> {

    /**
     * 根据 groupId 获取指定群组的详细信息
     * @param groupId 群组ID
     * @return DTO对象
     */
    ChatGroupDTO getGroupByGroupId(Long groupId);

    /**
     * 创建群组
     * @param leaderId 群主ID
     * @param chatGroupDTO DTO对象
     * @return 是否创建成功
     */
    boolean createGroup(UUID leaderId, ChatGroupDTO chatGroupDTO);

    /**
     * 获取用户加入的全部群组以及每个群组中成员的用户ID
     * @param userId 用户ID
     * @return 群组列表
     */
    List<ChatGroupDTO> getAllGroupsByUserId(UUID userId);

    /**
     * 解散群聊
     *
     * @param userId 请求者ID
     * @param groupId 群组ID
     */
     boolean deleteGroup(UUID userId, Long groupId);
}
